package com.s7.statusbar.impl;

import android.view.View;
import android.view.Window;

import androidx.appcompat.widget.Toolbar;

import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.appbar.CollapsingToolbarLayout;

/**
 * 状态栏接口
 */
public interface StatusBar {

    /**
     * 设置状态栏颜色
     * @param window 需要设置状态栏颜色的窗口
     * @param color  Color value
     */
    void setStatusBarColor(Window window, int color);

    /**
     * 设置状态栏透明
     * @param window
     * @param translucent
     */
    void translucentStatusBar(Window window, boolean translucent);

    /**
     * 标题栏渐变(Toolbar)
     * @param window
     * @param toolbar
     * @param color
     * @param alpha
     */
    void setToolbarColor(Window window, View toolbar, int color, int alpha);

    /**
     * 复杂交互状态栏变化(CollapsingToolbarLayout + Toolbar)
     * @param window
     * @param bar
     * @param collapsing
     * @param toolbar
     * @param color
     */
    void setCollapsingToolbar(Window window, AppBarLayout bar, CollapsingToolbarLayout collapsing,
                              Toolbar toolbar, int color);
}
